`:top
Die `!Virtual Reality Modeling Language`! (`!VRML`!) ist eine Beschreibungssprache für 3D-`F33f`_`[Szenen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Szenengraph]`_`f, deren `F33f`_`[Geometrien`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Geometrie]`_`f, `F33f`_`[Ausleuchtungen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Beleuchtungsmodell]`_`f, `F33f`_`[Animationen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Animation]`_`f und `F33f`_`[Interaktionsmöglichkeiten`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Interaktion]`_`f inklusive in der virtuellen Umgebung platzierter Geräuschquellen.
>>Contents
• `F0af`_`[Übersicht`#bersicht]`_`f
• `F0af`_`[Knotentypen`#knotentypen]`_`f
• `F0af`_`[Geschichte`#geschichte]`_`f
• `F0af`_`[Browser-Integration`#browser-integration]`_`f
• `F0af`_`[Open-Source-Autorenwerkzeuge für VRML`#open-source-autorenwerkzeuge-f-r-vrml]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f
-─
>>Übersicht
VRML wurde ursprünglich als für den Menschen lesbarer 3D-Standard für das `F33f`_`[Internet`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Internet]`_`f entwickelt und ist ein Vorläufer des für diesen Verwendungszweck vom `F33f`_`[World Wide Web Consortium`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=World_Wide_Web_Consortium]`_`f empfohlenen Standards `F33f`_`[X3D`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=X3D]`_`f.
Eine VRML-Darstellung (zum Beispiel innerhalb eines `F33f`_`[Webbrowsers`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webbrowser]`_`f oder einer `F33f`_`[virtuellen Realität`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Virtuelle_Realität]`_`f) wird vom Computer des Betrachters in `F33f`_`[Echtzeit`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Echtzeit]`_`f generiert. Das bedeutet, dass der Computer jedes einzelne `F33f`_`[Bild`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Abbild]`_`f aus den vorhandenen Geometriedaten, sowie dem Verhalten und den Bewegungen des „Besuchers“ ständig neu berechnet. Aus diesem Grund scheiden (Stand 2006, ohne Einsatz von Supercomputertechnologien) fotorealistische Darstellungen mit rechenaufwendigen `F33f`_`[Raytracing`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Raytracing]`_`f-Verfahren, „echten“ `F33f`_`[Spiegelungen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Reflexion_(Physik)]`_`f und `F33f`_`[Schattenwurf`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Schatten_(Computergrafik)]`_`f aus. Es werden auch beim Benutzen von vordefinierten Betrachterpositionen (`F33f`_`[englisch`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Englische_Sprache]`_`f viewpoints), beim Wechsel zwischen diesen Punkten und bei `F33f`_`[Kamerafahrten`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Kamerafahrt]`_`f keine fertigen Bilder aus Filmsequenzen abgespielt. Komplexe VRML-Szenen stellten früher daher unter Umständen hohe Anforderungen an die Hardware. Wie schnell, beziehungsweise wie flüssig die Bewegungen erfolgen, hängt vom `F33f`_`[Prozessor`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Prozessor]`_`f und vor allem von der `F33f`_`[Grafikkarte`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Grafikkarte]`_`f des wiedergebenden Computers ab.
VRML-Dateien erkennt man an der `F33f`_`[Dateinamenserweiterung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Dateinamenserweiterung]`_`f „.wrl“ (world), sie sind im Klartext (`F33f`_`[ASCII`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=American_Standard_Code_for_Information_Interchange]`_`f bzw. `F33f`_`[UTF-8`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=UTF-8]`_`f) geschrieben und können auch in einem einfachen `F33f`_`[Texteditor`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Texteditor]`_`f erstellt werden. Die meisten `F33f`_`[3D-Modellierungswerkzeuge`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=3D-Modellierungswerkzeug]`_`f ermöglichen den Im- und Export von VRML-Dateien, wodurch sich das Dateiformat auch als ein `F33f`_`[Austauschformat`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Austauschformat]`_`f von `F33f`_`[3D-Modellen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=3D-Modell]`_`f etabliert hat. Es finden sich auch mit `F33f`_`[Gzip`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Gzip]`_`f verpackte VRML-Dateien unter der Dateierweiterung „.wrl“, obwohl dafür eigentlich die Dateierweiterung „.wrz“ vorgesehen ist. Außerdem werden VRML-Dateien als Grundlage für den farbigen `F33f`_`[3D-Druck`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=3D-Druck]`_`f eingesetzt, da das für den 3D-Druck gebräuchliche Standardformat `F33f`_`[STL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=STL_(Dateiformat)]`_`f keine Farbinformationen transportieren kann.`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]
>>Knotentypen
Da sich eine VRML-Szene aus mehreren Knoten zusammensetzt, hier einige wichtige Knotentypen in VRML:
• Für `*Geometriegrundkörper`* wie Quader, Zylinder, Kegel und Kugel sind jeweils eigene Knotentypen vorhanden.
• Komplizierte Graphikobjekte bauen auf einer Liste aus Punkten und damit beschriebenen Flächen (IndexedFaceSet), Linien (IndexedLineSet) oder Punkte (PointSet) auf.
• Die Körper können hierarchisch durch `*Transform`*-Knoten zusammengefasst werden. Auf alle Knoten unterhalb dieses Knotens können Transformationsoperationen wie `F33f`_`[Skalierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Skalierung_(Computergrafik)]`_`f, `F33f`_`[Rotation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Rotation_(Mathematik)]`_`f oder `F33f`_`[Translation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Transformation_(Mathematik)]`_`f angewendet werden. Durch die Baumstruktur in der VRML-Datei ist es leicht, eine vorwärts gerichtete Kinematik zu erzeugen. So bewegt sich dann ein dargestellter Finger mit, wenn der Arm bewegt wird.
• `*`F33f`_`[Materialeigenschaften`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Material_(3D-Computergrafik)]`_`f`* können den geometrischen Körpern zugeordnet werden. So sind mit Hilfe von `F33f`_`[PNG`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Portable_Network_Graphics]`_`f-Bildern auch transparente Texturen möglich.
• Die `*Lichtquellen`* sorgen dann durch das Beleuchtungsmodell (zumeist `F33f`_`[Gouraud Shading`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Gouraud_Shading]`_`f) für die entsprechende Schattierung der Objekte.
• `*Sensoren`* reagieren auf Benutzeraktionen und der Time-sensor dient für Animationen.
• `*Interpolatoren`* können dann z. B. eine Rotation in einen beliebigen Farbwechsel umwandeln oder mit fortschreitender Zeit ändert sich die Lage eines Objektes
• Der `*Skriptknoten`* wird aktiviert über Verbindungen (Route) durch definierte Ereignis-Ausgänge von Objekten und es wird ein Java-Script oder Java-Programm gestartet. Dieses kann beliebige Berechnungen durchführen und die Ergebnisse durch weitere Verbindungen an die Eingänge von Objekten liefern.
• Der `*USE`*-Befehl dient zum Wiederverwenden von schon mittels „DEF“ definierten Skriptknoten.
• Der `*PROTO`*-Knoten ist wesentlich flexibler als der USE-Befehl und ermöglicht z. B. die Schaffung eines Torus-Geometrieknotens, welcher laut Standard eigentlich nicht definiert ist. Etliche Protos sind im Internet frei zugänglich.
• Durch sogenannte Anker und inline kann man durch das Anklicken von Objekten in eine andere Welt gelangen oder andere VRML-Objekte in die eigene Welt mit einbauen. Dieses ist hilfreich um den VRML-Text übersichtlich zu halten.
• `*LOD`* (`F33f`_`[Level of Detail`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Level_of_Detail]`_`f) ermöglichen die vereinfachte Darstellung, wenn sich der Benutzer in großer Entfernung befindet, um die Performance zu erhöhen.
• `*Billboards`* sind wie Tafeln, die dem Benutzer immer ihre Breitseite zudrehen.
• Zusätzliche Knoten beschreiben die Schrittgeschwindigkeit und Augenhöhe des Nutzers und auch die Hintergrundfarbe der Welt.
Wie beim Skript-Knoten schon erwähnt, besitzt ein VRML Viewer eine integrierte ereignisorientierte Simulation, d. h. jedes Objekt kann ein `F33f`_`[Ereignis`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Ereignis_(Programmierung)]`_`f aussenden. Dabei handelt es sich um einzelne Werte oder ganze Listen von Werten. Diese Werte können Zeit, Zahlen, Zeichenketten, Farben, Vektoren, Bilder oder ganze Knoten sein. Diese werden dann vom System weiterverarbeitet und ermöglichen somit sogar die Simulation von einfachen physikalischen Vorgängen.
Die `F33f`_`[Kollisionserkennung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Kollisionserkennung_(Algorithmische_Geometrie)]`_`f des VRML-Browsers gehört zum Standard. Eine Kollisionserkennung wird benötigt, damit man nicht durch Wände läuft. Das Verfahren, mit dem dafür gesorgt wird, dass man nicht vom Boden abhebt, ist dagegen weniger genau festgelegt.
Zur externen Steuerung der VRML-Szenen durch den Browser oder anderes kann die Programmiersprache `F33f`_`[Java`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_(Programmiersprache)]`_`f über die `*EAI`*-`F33f`_`[Schnittstelle`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Schnittstelle]`_`f (External Authoring Interface) nach `F33f`_`[ISO`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Internationale_Organisation_für_Normung]`_`f/IEC 14772-2 verwendet werden. Wie jede Textdatei kann VRML auch durch serverseitige Skriptsprachen (z. B. `F33f`_`[PHP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PHP]`_`f, `F33f`_`[Perl`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Perl_(Programmiersprache)]`_`f, `F33f`_`[Python`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Python_(Programmiersprache)]`_`f) vom Server erzeugt werden. Neben der Anwendung im Browser wird VRML auch in Umgebungen `F33f`_`[virtueller Realität`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Virtuelle_Realität]`_`f eingesetzt.
>>Geschichte
VRML 1.0 (damals noch Virtual Reality Markup Language) wurde 1995 als Erweiterung des `F33f`_`[Inventor`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Open_Inventor]`_`f-Dateiformats von `F33f`_`[Silicon Graphics`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Silicon_Graphics]`_`f (SGI) um Weblinks und Viewpoints eingeführt.
1997 wurde VRML 2.0 spezifiziert und nach kleineren Änderungen als VRML97-ISO 14772 `F33f`_`[Standard`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Standard]`_`f festgeschrieben. Die wichtigsten Erweiterungen gegenüber VRML 1.0 sind eine völlige Überarbeitung des Szenengraphenkonzepts mit einem starken Typsystem für Knoten, die Einführung von Sensorknoten zur Erlangung einer größeren Interaktivität, die Einführung von Animationsmöglichkeiten über TimeSensoren, Interpolatoren und ROUTES als Verbindungselemente, die Skriptfähigkeit mittels JavaScript (VRMLScript genannt) und Multimediaelemente wie Sounds, Animated GIF und MPEG-Movies.
Auf der vierten Internationalen Konferenz über VRML und 3D Webtechnologien im Jahre 1999 kam für die weitere Entwicklungen der Begriff VRML NG (Next Generation) auf. Er wurde auch als VRML99 bekannt. In diesem Standard sollte die Komplexität reduziert werden. Wegen des Wegfalls der bisher wesentlichen Unterstützung durch den Workstation-Hersteller SGI verlor der Standardisierungsprozess an Fahrt. Die Diskussionen und Entwicklungen führten 2004 zu der Entwicklung des VRML-Nachfolgers `F33f`_`[X3D`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=X3D]`_`f, der sich allerdings bis heute am Markt noch nicht vollständig etabliert hat.
VRTP steht für Virtual Reality Transfer Protocol und sollte zur besseren `F33f`_`[Übertragung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Datenübertragung]`_`f von VRML-`F33f`_`[Daten`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Daten]`_`f von einer Arbeitsgruppe des `F33f`_`[Web3D`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Web3D]`_`f-`F33f`_`[Konsortiums`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Konsortium]`_`f entwickelt werden. Die Idee wurde aber verworfen, da sich der 3D-`F33f`_`[Standard`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Standard]`_`f VRML nicht so stark, wie vom Web3D-Konsortium erwartet, im Internet etablierte.
>>Browser-Integration
Um sich eine VRML-Datei im Internet anschauen zu können, benötigt man ein `F33f`_`[Browser-Plug-in`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Browser-Plug-in]`_`f (Ergänzungsmodul) für den `F33f`_`[Browser`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webbrowser]`_`f. Dazu gehören etwa Cosmo Player, Cortona3D Viewer oder BS Contact. Darüber hinaus existieren spezielle Browser, bei denen dies bereits integriert ist.
>>Open-Source-Autorenwerkzeuge für VRML
• white dune – VRML97-Editor
• `F33f`_`[Blender (Software)`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Blender_(Software)]`_`f – 3D-Modellierer mit statischem VRML97-Export`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f]
>>Weblinks
Commons
: VRML
– Sammlung von Bildern, Videos und Audiodateien
• `*VRML-Spezifikation.`* Abgerufen am 19. September 2024 (englisch).
• `*The Annotated VRML 97 Reference.`* Archiviert vom Original am 12. März 2004; abgerufen am 19. September 2024 (englisch).
• `*VRML Manual.`* Abgerufen am 19. September 2024 (englisch).
• `*Beispiele für virtuelle Landschaften.`* Archiviert vom Original am 4. Oktober 1999; abgerufen am 19. September 2024 (englisch).
• `*VRML (Virtual Reality Modeling Language) and X3D.`* Abgerufen am 19. September 2024 (englisch).
• `*VRMLGen (Open-Source-Softwarepaket zur Generierung von VRML-Welten).`* Abgerufen am 19. September 2024 (englisch).
• `*Zahlreiche Beispiele virtueller Welten.`* Archiviert vom Original am 1. April 2022; abgerufen am 19. September 2024 (französisch, in alphabetischer Reihenfolge).
>>Einzelnachweise
`:cite-note-1`!1.`! S. Nelson et al.: `*`F33f`_`[RFC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Request_for_Comments]`_`f: 2077`* – `*The Model Primary Content Type for Multipurpose Internet Mail Extensions`*. Januar 1997, S. 7 (englisch).
`:cite-note-2`!2.`! Gavin Bell et al.: `*The Virtual Reality Modeling Language: Version 1.0 Specification.`* In: `*web3d.org.`* 26. Mai 1995, abgerufen am 1. Februar 2025 (englisch).
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f Heiko Heckner, Marco Wirth: `*CEDIFA Arbeitsbericht 7: Vergleich von Dateiformaten für 3D-Modelle.`* In: `*cedifa.de.`* 13. Mai 2014, S. 15, archiviert vom Original am 10. Oktober 2015; abgerufen am 19. September 2024.
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f `*Web3D X3D/VRML2.`* In: `*docs.blender.org.`* 18. Mai 2024, abgerufen am 19. September 2024 (englisch).
`c`F0af`_`[↑ Back to top`#top]`_`f`a